From b81f8f58ffc44dc9b6e8a244641c397d867d3d47 Mon Sep 17 00:00:00 2001 From: Michael Schumacher Date: Tue, 16 Jan 2007 00:39:31 +0000 Subject: [PATCH] remove the check for dlopen again - didn't work as intended for #idfef 2007-01-16 Michael Schumacher * configure.ac: remove the check for dlopen again - didn't work as intended * babl/babl-extension.c: for #idfef WIN32, #define dl* functions to their Windows equivalents (LoadLibrary, GetProcAddress, FreeLibrary). svn path=/trunk/; revision=196 --- ChangeLog | 8 ++++++++ babl/babl-extension.c | 29 +++++++++++++---------------- configure.ac | 1 - 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index 66677ef..1bc731c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-01-16 Michael Schumacher + + * configure.ac: remove the check for dlopen again - didn't work as + intended + * babl/babl-extension.c: for #idfef WIN32, #define dl* functions + to their Windows equivalents (LoadLibrary, GetProcAddress, + FreeLibrary). + 2007-01-08 Øyvind Kolås * babl/babl-extension.c: define HAVE_DLOPEN if HAVE_DLFCN is set. diff --git a/babl/babl-extension.c b/babl/babl-extension.c index 2e86783..9236aba 100644 --- a/babl/babl-extension.c +++ b/babl/babl-extension.c @@ -21,22 +21,12 @@ #ifdef HAVE_CONFIG_H #include "config.h" - -#ifdef HAVE_DLFCN_H -#ifndef HAVE_DLOPEN -#define HAVE_DLOPEN 1 -#endif -#endif - - #else #define BABL_PATH PREFIX "/babl-0.0" #define BABL_PATH_SEPERATOR "/" #define BABL_LIST_SEPERATOR ':' #endif - - #define BABL_INIT_HOOK init_hook(); #define BABL_DESTROY_HOOK destroy_hook(); @@ -148,12 +138,24 @@ destroy_hook (void) #ifdef HAVE_DLFCN_H #include +#define HLIB void * #endif #ifndef RTLD_NOW #define RTLD_NOW 0 #endif +#ifdef WIN32 +#define WIN32_LEAN_AND_MEAN +#include +#define HLIB HINSTANCE + +#define dlopen(a, b) LoadLibrary(a) +#define dlsym(l, s) GetProcAddress(l, s) +#define dlclose(l) FreeLibrary(l) +#define dlerror() GetLastError() +#endif + static Babl * load_failed (Babl *babl) { @@ -169,10 +171,8 @@ static Babl * babl_extension_load (const char *path) { Babl *babl = NULL; - -#ifdef HAVE_DLOPEN /* do the actual loading thing */ - void *dl_handle = NULL; + HLIB dl_handle = NULL; int (*init) (void) = NULL; void (*destroy) (void) = NULL; @@ -200,7 +200,6 @@ babl_extension_load (const char *path) babl_log ("babl_extension_init() in extension '%s' failed (return!=0)", path); return load_failed (babl); } -#endif if (babl_db_insert (db, babl) == babl) { @@ -345,10 +344,8 @@ each_babl_extension_destroy (Babl *babl, { if (babl->extension.destroy) babl->extension.destroy(); -#ifdef HAVE_DLOPEN if (babl->extension.dl_handle) dlclose (babl->extension.dl_handle); -#endif babl_free (babl); return 0; /* continue iterating */ diff --git a/configure.ac b/configure.ac index bb95fb3..4b9582c 100644 --- a/configure.ac +++ b/configure.ac @@ -163,7 +163,6 @@ dnl =========================================================================== AC_CHECK_LIB([dl], [dlopen], [DL_LIB="-ldl"]) AC_SUBST(DL_LIB) -AC_CHECK_FUNCS(dlopen) AC_REPLACE_FUNCS(gettimeofday) AC_DEFINE_UNQUOTED(BABL_PATH, "~/.babl-$BABL_API_VERSION:/usr/local/lib/babl-$BABL_API_VERSION:/usr/lib/babl-$BABL_API_VERSION", [search path for babl extensions (default value of enviroment variable)]) -- 2.30.2